var TOKEN = null
const TOKEN_KEY = 'TOKEN'

/**
 * 获取用户Token
 */
function getToken() {
  return 'Bearer ' + TOKEN
}

/**
 * 设置用户token
 * @param {*} token 
 */
function setToken(token) {
  TOKEN = token
}
/**
 * 自动登陆
 */
function autoLogin() {
  TOKEN = wx.getStorageSync(TOKEN_KEY)
}
/**
 * 判断用户是否登陆，弹出登陆的对话框
 */
function isLogin(showModel = false) {
  if (TOKEN) {
    return true
  } else {
    if (showModel) {
      wx.showModel({
        title: '您还未登陆',
        content: '登陆后才可以使用完整功能，是否前去登陆？',
        success: res => {
          if (res.confirm) {
            wx.navigateTo({
              url: 'url',
            })
          }
        }
      })
    }
    return false
  }
}

/**
 * 设置登陆状态，保存用户token与用户信息
 * @param {*} token 
 * @param {*} userInfo 
 */
function login(token, userInfo) {
  try {
    wx.setStorageSync(TOKEN_KEY, token)
    setToken(token)
    getApp().setUserInfo(userInfo)
    return true
  } catch (e) {
    console.log('登陆设置storage失败' + e)
    return false
  }
}

/**
 * 退出登陆
 */
function logout() {
  try {
    wx.clearStorageSync()
    setToken('')
    getApp().setUserInfo(null)
    wx.showToast({
      title: '退出成功',
      icon: 'none'
    })
    return true
  } catch (e) {
    console.log('退出登陆清空storage失败' + e)
    return false
  }
}


module.exports = {
  getToken: getToken,
  isLogin: isLogin,
  login: login,
  logout: logout,
  autoLogin: autoLogin
}